package org.huawei260.OD260;//package org.huawei260;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

/**
 * @author Fql18
 * @Auther: qingle
 * @Date: 2024/8/22-1:49
 * @Description:
 * 第k长子串
 * 题目描述
 * 给定一个字符串
 * 只包含大写字母
 * 求在包含同一字母的子串中
 * 长度第K长的子串
 * 相同字母只取最长的子串
 *
 * 输入描述
 * 第一行 一个子串 1 < len <= 100
 * 只包含大写字母
 * 第二行为k的值
 *
 * 输出描述
 * 输出连续出现次数第k多的字母的次数
 * 如果子串中只包含同一字母的子串数小于k
 * 则输出-1
 * @version: 1.0
 */
public class O0015_第k长子串_AI {
		public static void main(String[] args) {
			Scanner scanner = new Scanner(System.in);

			// 读取输入字符串
			String input = scanner.nextLine();

			// 读取整数k
			int k = scanner.nextInt();

			// 初始化最大计数和当前计数
			int maxCount = 0;
			int currentCount = 1;

			// 遍历字符串
			for (int i = 1; i < input.length(); i++) {
				// 如果当前字符与前一个字符相同
				if (input.charAt(i) == input.charAt(i - 1)) {
					// 增加当前计数
					currentCount++;
				} else {
					// 更新最大计数
					maxCount = Math.max(maxCount, currentCount);
					// 重置当前计数
					currentCount = 1;
				}
			}

			// 检查最后一个子串的长度
			maxCount = Math.max(maxCount, currentCount);

			// 如果最大计数小于k，输出-1，否则输出最大计数
			if (maxCount < k) {
				System.out.println(-1);
			} else {
				System.out.println(maxCount);
			}
		}
	}
